// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
/* jshint esversion: 6 */ 
import Vue from 'vue';
import App from './App';
import router from './router';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import store from './store';
import Util from '@/helpers/util';
import VueLazyLoad from 'vue-lazyload';
import hoverCss from 'hover.css';//hovercss
import anime from 'animejs';//anime库
import moment from 'moment';

Vue.use(anime)
Vue.use(hoverCss)//hoverCss useage:'hvr-xxx' http://ianlunn.github.io/Hover/
Vue.use(ElementUI);
Vue.use(Util);
Vue.config.productionTip = false;
Vue.use(VueLazyLoad,{
  error:require('./assets/img/nopic.png'),
  loading:require('./assets/img/loading.gif')
})

// 图片在assets文件夹，就需要使用require（）进行引入。
// Vue.use(VueLazyload, {
//   preLoad: 1.3,
//   loading: require('./assets/123.gif'),
//   attempt: 1
// })
//图片在static文件夹，就可以直接写路径了
// Vue.use(VueLazyload, {
//   preLoad: 1.3,
//   loading: '../static/123.gif',
//   attempt: 1
// })

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  store,
  moment,
  components: { App },
  template: '<App/>'
});


// function formatDate(date, fmt) {
//   date = new Date(date);
//   if (typeof(fmt) === "undefined") {
//       fmt = "yyyy-MM-dd HH:mm:ss";
//   }
//   if (/(y+)/.test(fmt)) {
//       fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
//   }
//   let o = {
//       'M+': date.getMonth() + 1,
//       'd+': date.getDate(),
//       'H+': date.getHours(),
//       'm+': date.getMinutes(),
//       's+': date.getSeconds()
//   }
//   for (let k in o) {
//       if (new RegExp(`(${k})`).test(fmt)) {
//           let str = o[k] + ''
//           fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : ('00' + str).substr(str.length));
//       }
//   }
//   return fmt
// };
 
// //定义一个时间过滤器
// Vue.filter("FormatDate", function(date, fmt) {
//   return formatDate(date, fmt);
// });

Vue.filter('dateFmt', (input, formatString = "YYYY-MM-DD HH:mm:ss") => {
  //es5函数参数设置默认值
  //const lastFormatString = formatString || ''

  
   // moment(input) 把时间字符串转成时间对象
   // format(formatString) 把时间对象，按照指定格式，格式化成符合条件的字符串
  return moment(input).format(formatString)
})